/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tabelamodelcolumnmodel.orcamento;

import eloma.classe.orcamento.MaterialProdutoOrcamento;
import java.text.DecimalFormat;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author icaro.klinger
 */
public class MaterialProdutoOrcamentoTableModel extends AbstractTableModel {

    private List<MaterialProdutoOrcamento> listMaterial;
    private boolean ordenarPorNome = true;

    public MaterialProdutoOrcamentoTableModel(List<MaterialProdutoOrcamento> listMaterial) {
        this.listMaterial = listMaterial;
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        MaterialProdutoOrcamento material = listMaterial.get(rowIndex);
        DecimalFormat df = new DecimalFormat("0.000");
        switch (columnIndex) {
            case 0:
                return material.getMaterial();
            case 1:
                String metros = String.valueOf(material.getMetros());
                return metros.replace(".", ",") + " m";
            case 2:
                double valor = material.getMetros() * material.getMaterial().getPesoMetro();
                return df.format(valor).replace(",", ".") + " Kg";
        }

        return null;
    }

    @Override
    public int getRowCount() {
        return listMaterial.size();
    }

    @Override
    public int getColumnCount() {
        return 3;
    }

    public MaterialProdutoOrcamento getValoresMaterial(int rowIndex) {
        return listMaterial.get(rowIndex);
    }

    public boolean isOrdenarPorNome() {
        return ordenarPorNome;
    }

    public void setOrdenarPorNome(boolean ordenarPorNome) {
        this.ordenarPorNome = ordenarPorNome;
    }
}
